
package shared;

import java.util.ArrayList;
import java.util.LinkedList;

import org.jbox2d.dynamics.Body;

import processing.core.PVector;

import birdsVSZombiesClient.gameGraphic.BVZGameShape;
import birdsVSZombiesClient.gameGraphic.BVZGameShapeBoundaries;
import birdsVSZombiesClient.gameGraphic.BVZGameShapeBoxes;
import birdsVSZombiesClient.gameGraphic.BVZGameShapeCircles;
import birdsVSZombiesComponents.AbstractBox2DShape;
import birdsVSZombiesServer.BirdsVSZombiesCollision;
import birdsVSZombiesServer.BirdsVSZombiesServerThread;

import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryonet.EndPoint;

import fisica.FBody;
import fisica.FBox;
import fisica.FCircle;
import fisica.FContactResult;

// This class is a convenient place to keep things common to both the client and server.
public class Network {
	static public final int TCPport = 54555;
	static public final int UDPport = 54777;
	
	
	// This registers objects that are going to be sent over the network.
	static public void register (EndPoint endPoint) {
		Kryo kryo = endPoint.getKryo();
		kryo.register(BVZServerToClientsMessages.class);
		kryo.register(BVZClientToServerMessages.class);
		kryo.register(LinkedList.class);
		kryo.register(BVZGameShape.class);
		kryo.register(BVZGameShapeBoundaries.class);
		kryo.register(BVZGameShapeBoxes.class);
		kryo.register(BVZGameShapeCircles.class);
		
		kryo.register(BVZServerToClientsEvents.class);
		kryo.register(BirdsVSZombiesCollision.class);
//		kryo.register(BirdsVSZombiesServerThread.class);
//		kryo.register(AbstractBox2DShape.class);
//		kryo.register(FContactResult.class);
		kryo.register(ArrayList.class);
		kryo.register(PVector.class);
		kryo.register(float[].class);
//		kryo.register(Strin);
//		kryo.register(Object.class);
//		kryo.register(FBody.class);
//		kryo.register(FBox.class);
//		kryo.register(FCircle.class);
//		kryo.register(Body.class);
		
	}

}
